home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / src / GLperf3.12-src.lha / GLperf / Xform.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-01  |  3.5 KB  |  119 lines

  1. /*
  2.  *   (C) COPYRIGHT International Business Machines Corp. 1993
  3.  *   All Rights Reserved
  4.  *   Licensed Materials - Property of IBM
  5.  *   US Government Users Restricted Rights - Use, duplication or
  6.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7.  
  8. //
  9. // Permission to use, copy, modify, and distribute this software and its
  10. // documentation for any purpose and without fee is hereby granted, provided
  11. // that the above copyright notice appear in all copies and that both that
  12. // copyright notice and this permission notice appear in supporting
  13. // documentation, and that the name of I.B.M. not be used in advertising
  14. // or publicity pertaining to distribution of the software without specific,
  15. // written prior permission. I.B.M. makes no representations about the
  16. // suitability of this software for any purpose.  It is provided "as is"
  17. // without express or implied warranty.
  18. //
  19. // I.B.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  20. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL I.B.M.
  21. // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  22. // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  23. // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  24. // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  25. //
  26. // Author:  John Spitzer, IBM AWS Graphics Systems (Austin)
  27. //
  28. */
  29.  
  30. #if (defined(INC_REASON)) && (INC_REASON == INFO_ITEM_STRUCT)
  31. #include "Test.h"
  32. #define TransformStructItems
  33.     int transformType;
  34.     int pointDraw;
  35.     int pushPop;
  36.     /* Members below this line aren't user settable */
  37.     GLfloat *transformData;
  38. #elif (defined(INC_REASON)) && (INC_REASON == INFO_ITEM_ARRAY)
  39. #include "Test.h"
  40.     {
  41.         TransformType,
  42.         "Transform Type",
  43.         offset(transformType),
  44.         Enumerated,
  45.         {
  46.             { Translate,       "Translate" },
  47.             { Rotate,          "Rotate" },
  48.             { Scale,           "Scale" },
  49.             { Perspective,     "Perspective" },
  50.             { Ortho,           "Ortho" },
  51.             { Ortho2,          "Ortho2" },
  52.             { Frustum,         "Frustum" },
  53.             { End }
  54.         },
  55.         { Rotate}
  56.     },
  57.     {
  58.         PointDraw,
  59.         "Draw Point Between Transforms",
  60.         offset(pointDraw),
  61.         Enumerated,
  62.         {
  63.             { On,       "On" },
  64.             { Off,      "Off" },
  65.             { End }
  66.         },
  67.         { Off }
  68.     },
  69.     {
  70.         PushPop,
  71.         "Push and Pop Around Transforms",
  72.         offset(pushPop),
  73.         Enumerated,
  74.         {
  75.             { On,       "On" },
  76.             { Off,      "Off" },
  77.             { End }
  78.         },
  79.         { Off }
  80.     },
  81.     {
  82.         0
  83.     }
  84. #else  /* INC_REASON not defined, treat as plain include */
  85. #ifndef _Xform_h
  86. #define _Xform_h
  87.  
  88. #include "Test.h"
  89. #include "General.h"
  90. #include "TestName.h"
  91. #include "PropName.h"
  92. #include "Global.h"
  93. #include "AttrName.h"
  94. #ifdef WIN32
  95. #include <windows.h>
  96. #endif
  97. #include <GL/gl.h>
  98. #include <GL/glu.h>
  99. #include "Random.h"
  100. #include "FuncEnum.h"
  101.  
  102. typedef struct _Transform {
  103. #define INC_REASON INFO_ITEM_STRUCT
  104. #include "Xform.h"
  105. #undef INC_REASON
  106. } Transform, *TransformPtr;
  107.  
  108. TransformPtr new_Transform();
  109. void delete_Transform(TestPtr);
  110. int Transform__SetState(TestPtr);
  111. void Transform__Initialize(TestPtr);
  112. void Transform__Cleanup(TestPtr);
  113. void Transform__SetExecuteFunc(TestPtr);
  114. TestPtr Transform__Copy(TestPtr);
  115. float Transform__Size(TestPtr);
  116.  
  117. #endif /* file not already included */
  118. #endif /* INC_REASON not defined */
  119.